﻿using System;
using System.Collections.Generic;
using System.Text;

using System.ServiceModel;

namespace Future.Contract
{
    [ServiceContract(SessionMode = SessionMode.Allowed, Namespace = "http://azku.net")]
    [ServiceKnownType("GetKnownTypesForBus", typeof(FactoryKnownTypes))]
    public interface IWcfService
    {
        // 返回Zip压缩后的Byte[]数据
        [OperationContract(Name = "ExecCommandByte")]
        byte[] ExecCommandByte(Channel.Task task, ref bool result, ref string errMsg);
        
        // 返回LitJson转换后的string
        [OperationContract(Name = "ExecCommandString")]
        string ExecCommandString(Channel.Task task, ref bool result, ref string errMsg);

        // 客户端和服务端Ping
        [OperationContract(Name = "XPing")]
        int XPing(int n);
    }
}
